package com.hmall.service.impl;

import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.hmall.ai.AiModelInvoker;
import com.hmall.domain.po.File;
import com.hmall.mapper.FileMapper;
import com.hmall.service.IFileService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author HBQ
 * @since 2025-11-04
 */
@Service
public class FileServiceImpl extends ServiceImpl<FileMapper, File> implements IFileService {

    @Autowired
    private AiModelInvoker aiModelInvoker;

    @Override
    public String getFile(String userId) {
        LambdaQueryWrapper<File> queryWrapper = new LambdaQueryWrapper<File>();
        queryWrapper.eq(File::getUserId, userId);
        File result = getOne(queryWrapper);
        String content = result.getContent();
        String prompt = getPrompt(content);
        String aiResult = aiModelInvoker.DoubaoInvoker(prompt);
//        String aiResult = "{\"code\":1,\"msg\":\"success\",\"data\":\"### 个人性格评估报告深度分析\\n\\n\\n#### **一、核心性格特质及潜在优势**  \\n**1. 基于MBTI与大五人格的核心特质**  \\n- **外向性（E）与社交能量**：MBTI外向（E）+ 大五人格外向性4.2（高度社交，热情主动），表现为精力充沛，天然擅长在团队互动中建立联结，通过社交获取能量，对“人”的互动有强烈需求（如“喜欢团队合作”）。  \\n- **直觉性（N）与创新思维**：MBTI直觉（N）+ 大五人格开放性4.5（对新事物好奇，富有创造力），表现为关注可能性与抽象理念，擅长发现事物间的隐性联系（如“善于提出创新解决方案”），对创意和未知领域有天然敏感度。  \\n- **情感性（F）与共情能力**：MBTI情感（F）+ 大五人格宜人性3.8（友善合作，理解他人观点），表现为决策优先考虑价值观与人际关系，同理心突出（如“善于理解他人情感，提供支持”），能快速感知他人需求并提供情感支持。  \\n- **知觉性（P）与灵活适应**：MBTI知觉（P）+ 大五人格严谨性3.0（基本规划能力，兼具灵活性），表现为灵活适应环境变化，不执着于固定流程，擅长在动态中寻找可能性（如“在动态环境中表现出色”），对突发情况的接受度高。  \\n\\n**2. 潜在优势总结**  \\n- **创造力与创新力**：开放性4.5+直觉（N）+社交互动（E）的组合，使你成为“创意连接器”，能将不同领域的信息整合为新颖方案（如广告策划、内容创作）。  \\n- **社交凝聚力**：外向性4.2+宜人性3.8，让你成为团队中的“粘合剂”，擅长快速建立信任关系，通过热情主动（“富有感染力”）激励他人参与合作。  \\n- **适应与韧性**：知觉（P）+乐观积极（“面对挑战保持积极”），使你在变化中快速调整，擅长将压力转化为动力（如创业、项目管理）。  \\n- **共情与支持力**：情感（F）+同理心突出，能成为他人的“情绪后盾”，尤其在需要情感支持的场景（如教育培训、心理咨询）中发挥独特价值。  \\n\\n\\n#### **二、性格特点与职业发展的匹配建议**  \\n**1. 核心适配领域及原因**  \\n- **创意领域（广告策划、内容创作、设计）**：  \\n  - 大五人格开放性4.5（对新事物好奇）+ MBTI直觉（N）（关注可能性），天然适合产出创新性内容（如“富有想象力和创造力”）。  \\n  - 社交能力（外向4.2）可用于对接客户需求或团队沟通，将创意转化为可落地的方案。  \\n- **社交领域（人力资源、公关、教育培训）**：  \\n  - 宜人性3.8（理解他人观点）+ 同理心（“善于提供支持”），适合处理人际关系复杂的场景（如HR招聘、员工沟通）。  \\n  - 外向性4.2+表达欲（“公众演讲、内容创作”），能高效传递信息并激发他人参与（如培训课程设计、公关活动策划）。  \\n- **灵活领域（项目管理、咨询、创业）**：  \\n  - 知觉（P）+严谨性3.0（基本规划能力），可在动态项目中平衡灵活性与目标达成（如“灵活应对变化，协调团队资源”）。  \\n  - 乐观积极（“激励团队前进”）+适应性强，适合开拓性工作（如创业初期探索模式、咨询项目中快速响应客户需求）。  \\n\\n**2. 职业优化建议**  \\n- **补充“细节锚点”**：针对大五人格严谨性3.0（规划能力不足），建议在创意项目中加入“阶段性目标清单”（如广告策划中明确“创意产出→客户反馈→落地执行”三阶段），避免因过度追求创意忽略细节。  \\n- **结构化表达**：在团队中强化“创意+逻辑”的结合，例如：用“问题场景+可能性方案+数据支撑”的框架呈现创意（如设计方案需补充用户调研数据），提升方案说服力。  \\n\\n\\n#### **三、人际关系中的沟通风格优化方向**  \\n**1. 现有沟通优势**  \\n- **热情直接**：外向性4.2+情感（F），沟通风格“富有感染力”，擅长快速破冰并激发他人积极性（如团队启动会中用故事化语言带动氛围）。  \\n- **团队粘合剂**：宜人性3.8+同理心（“理解他人情感”），在冲突中倾向调和而非对抗，适合作为“情绪缓冲器”（如项目分歧时优先倾听各方诉求）。  \\n\\n**2. 优化方向**  \\n- **细节传递优化**：  \\n  - 因严谨性3.0（规划能力不足），沟通时易出现“跳步”（如直接讲创意但忽略执行步骤），建议用“金字塔结构”（结论先行→分点论证→细节补充），确保信息完整传递。  \\n- **边界感提升**：  \\n  - 因宜人性3.8（易过度投入他人事务），需避免“无边界协作”（如主动承接他人工作却导致自身任务拖延），建议采用“5分钟快速评估法”：接收任务时问自己“这是否与我的核心目标一致？是否超出能力范围？”，并用“我可以帮你做A，但B需要你优先确认需求”明确分工。  \\n- **冲突表达技巧**：  \\n  - 情感型（F）倾向回避冲突，建议在坚持原则时用“建设性批评”：例如“我理解你的方案（共情），但从用户体验角度，是否可以补充X细节？（具体建议）”，既保持和谐又推动问题解决。  \\n\\n\\n#### **四、基于报告的个人成长建议**  \\n**1. 能力平衡策略**  \\n- **强化规划力**：用“20%规则”：每周预留20%时间做“非创意性工作”（如整理项目流程、复盘过往方案），通过“小目标拆解法”（如将“完成一篇文案”拆解为“列提纲→收集素材→初稿→修改”）提升执行力。  \\n- **提升细节敏感度**：在日常工作中加入“3个细节检查点”（如写文案时检查“关键词重复率”“数据准确性”“情感语气一致性”），用清单工具固化习惯。  \\n\\n**2. 精力管理优化**  \\n- **设定“创意保护区”**：每天预留1-2小时“不被打扰的专注时间”（如关闭消息通知），专门用于深度创意产出（如绘画、写作），避免因社交活动过度消耗精力。  \\n- **拒绝“无效共情”**：当他人过度倾诉时，用“共情+边界”话术：“我理解你的感受（共情），但我现在需要处理手头的方案，你可以和我约在明天10点单独聊吗？（边界）”，既保持善意又保护自身精力。  \\n\\n**3. 优势深化路径**  \\n- **跨界融合实践**：利用“创造力+社交”优势，参与跨领域合作（如“公益+艺术”项目），例如组织一场“环保主题绘画展”，既能发挥创意（设计展览形式），又能通过社交（邀请参与者、宣传推广）扩大影响力。  \\n- **公众表达训练**：将“表达欲”转化为竞争力，每月参加1次小型公开分享会（如线上直播、线下沙龙），逐步提升“创意+逻辑+感染力”的综合表达能力。  \\n\\n**4. 情绪韧性培养**  \\n- 针对“神经质2.5（中等情绪稳定性）”，学习“压力缓冲三步法”：  \\n  1. **暂停呼吸**：高压时用4-7-8呼吸法（吸气4秒→屏息7秒→呼气8秒）快速平复情绪；  \\n  2. **可能性思维**：用MBTI直觉（N）优势，从“问题”转向“解决方案可能”（如“方案被否”→“客户真实需求是什么？是否有替代路径？”）；  \\n  3. **小步行动**：用“5分钟启动法”（如“5分钟内完成一个小任务”）积累掌控感，避免因“灵活适应”导致的焦虑循环。  \\n\\n\\n**总结**：你的性格本质是“用创意连接他人，用共情推动行动”的能量型人格。通过平衡“灵活性与规划性”“共情与边界感”，既能在创意、社交领域持续发光，又能在动态环境中实现长期成长。\"}";
//        JSONObject bean = JSONUtil.toBean(aiResult, JSONObject.class);
//        String data = bean.get("data", String.class);
        return aiResult;
    }

    private String getPrompt(String content) {
        return "请帮我分析以下性格评估报告内容，重点关注：\n" +
                "2. 性格特点与职业发展的匹配建议\n" +
                "3. 人际关系中的沟通风格优化方向\n" +
                "4. 基于报告的个人成长建议\n" +
                content +
                "请结合具体数据（如MBTI类型、大五人格得分等）进行分析，避免泛泛而谈。" +
                "话语要简短，控制在200字以内";
    }
}
